package com.nj9you.sdk.framework;

import android.widget.EditText;

import com.nj9you.sdk.params.User;

import java.util.List;

/**
 * 用户功能接口
 */

public interface IUserFunction {

    /**
     * 显示登录界面
     */
    public void showLogin();

    /**
     * 载入登陆的用户列表
     *
     * @return
     */
    public List<User> loadUsers();

    /**
     * 载入最后登陆的用户
     *
     * @return
     */
    public User loadLoginUser();

    /**
     * 登陆
     *
     * @param username
     * @param password
     * @param rememberPwd
     */
    public void doLogin(String username, String password, boolean rememberPwd);

    /**
     * 调注册界面
     */
    public void callRegister();

    /**
     * 获取验证码
     *
     * @param phonenumber
     */
    public void fetchCaptcha(String phonenumber);

    /**
     * 手机号码注册
     *
     * @param phonenumber
     * @param password
     * @param captche
     */
    public void registerByCellphone(String phonenumber, String password, String captche);


    /**
     * 用户名注册
     *
     * @param username
     * @param password
     */
    public void registerByUsername(String username, String password);

    /**
     * 检验验证码
     *
     * @param telphone
     * @param captcha
     */
    public void checkCaptcha(String telphone, String captcha);

    /**
     * 获取是否记住密码
     *
     * @return
     */
    public boolean isRememberPassword();

    /**
     * 显示注册协议
     */
    public void showAgreement();

    /**
     * 忘记密码
     */
    public void showForgetPassword();

    /**
     * 客服
     */
    public void showCustomerService();

    /**
     * 账户选择列表
     *
     * @param editText
     */
    public void showAccountPopup(EditText editText);

    /**
     * 填充用户信息
     *
     * @param user
     */
    public void fillUser(User user);

    /**
     * 删除用户
     *
     * @param user
     */
    public void removeUser(User user);

    /**
     * 切换账户
     */
    public void switchUser();
}
